/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package br.com.webfis.controller;

import br.com.caelum.vraptor.Delete;
import br.com.caelum.vraptor.Get;
import br.com.caelum.vraptor.Path;
import br.com.caelum.vraptor.Post;
import br.com.caelum.vraptor.Resource;
import br.com.caelum.vraptor.Result;
import br.com.webfis.modelos.ModeloOficios;
import br.com.webfis.persistencia.ModeloOficiosDAO;
import java.util.List;

/**
 *
 * @author silvio
 */
@Resource
public class ModeloOficiosController {
    
    private final ModeloOficiosDAO dao;
    private final Result result;
    
    public ModeloOficiosController(ModeloOficiosDAO dao, Result result) {
        this.dao = dao;
        this.result = result;
    }
    
    public void novo(){
        this.result.of(this).edita(0);
    }
    
    @Post("/modeloOficios/")
    public void salva(ModeloOficios modeloOficios){
             
        if(modeloOficios.getIdModeloOficios() == null)
            dao.salvar(modeloOficios); 
        else {
            dao.atualizar(modeloOficios);
        }
        this.result.include("mensagem","Modelo salvo com sucesso!!");
        this.result.redirectTo(this).lista();
    }
    
    @Delete("/modeloOficios/{idItem}")
    public void deleta(Integer idItem){
        ModeloOficios l;
        l = dao.Pesquisar(idItem,"").get(0); 
        dao.deletar(l);
        this.result.include("mensagem","Modelo apagado!!");
        this.result.redirectTo(this).lista();
    }
    
    @Get("/modeloOficios/{idItem}")
    public ModeloOficios edita(Integer idItem){
        ModeloOficios l;
        l = dao.Pesquisar(idItem,"").get(0); 
        return l;
    }
    
    
    public List<ModeloOficios> lista(String filtro) { 
        List<ModeloOficios> l;
        
        l = dao.Pesquisar(-1,filtro==null?"":filtro);//dao.listaTudo();
        
        return l;
    }
    
    @Path("/modeloOficios")
    public List<ModeloOficios> lista() { 
        List<ModeloOficios> l;
        
        l = dao.listaTudo();
        
        return l;
    }
    
    public void pesquisa(String filtro) { 
        List<ModeloOficios> l;
        l = dao.Pesquisar(-1,(filtro==null?"":filtro));
        //this.result.forwardTo(this).lista();        
    }
}
